Casper CBC: Validator Rotation
Deterministic fork choice
Casper Research Update: Consensus protocol research (slide)
https://gyazo.com/f96c15eb369b40fe2963a60d628c44e4
Similarly, validator set (not weight) in messages Make Genesis Message (Block) #56
Similar opinion in gitter
We can generalize this (See Casper CBC: General validator rotation)
Bounded amount of validators can exit in every epoch, GHOST is modified to use the validator set in each epoch and safety threshold decreases.
Non-deterministic fork choice
Proposal by Vitalik What CBCifying the beacon chain might look like #433
CBCification #701
More general way?
wiki
However, there is not currently a specified method of rotating validators "in the general case." That is, validator set rotation works so well in Casper TFG because of some features specific to the blockchain data structure itself, and thus is different (and unspecified) for other data structures.
To do:
Specify what is needed from some protocol for it to support validator set rotation.
- For example, validator set rotation in the case of binary consensus, in the most naive way, clearly breaks the safety proof. As such, we may have to specify a "modified binary protocol" where validators come to consensus on n consecutive bits, where the validator set must not be the same for all of them.
Specify how to rotate validators "in the general case" (with any data structure we might happen to be replicating).
Vitalik's tutorial
Second, we can add validator rotation mechanisms. The simplest is to allow the validator set to change by a small percentage every time the q=3/4 clique oracle is satisfied
#Casper